package Io;

import java.io.File;
import java.io.IOException;

public class Test1 {
    public static void main(String[] args) throws IOException {
        //对象f就是tt.txt这个文件
        //注意在java中双斜杠才是路径，单斜杠是转义字符
        //也可以用反斜杠/
        File f= new File("D:\\aa\\a\\tt3.txt");
//      == File f= new File("D:/aa/a/tt.txt");
        //获取文件名
        System.out.println(f.getName());//tt.txt
        System.out.println(f.getPath());
        System.out.println(f.getAbsolutePath());
        System.out.println(f.getAbsoluteFile());
        System.out.println(f.getParent());


        File f1= new File("src/Io/Test1.java");
//        //获取文件夹的路径
        System.out.println(f1.getPath());//getPath获取的是new对象时给的路径
        System.out.println(f1.getAbsolutePath());//获取的是绝对路径，在盘里的路径
        System.out.println(f1);//输出相对路径
        System.out.println(f1.getAbsoluteFile());//输出file的绝对路径
//
        System.out.println(f1.getParent());//输出父级路径
//        //重命名
        boolean b = f.renameTo(new File("D:\\aa\\a\\tt4.txt"));
//        boolean b = f.renameTo(new File("D:\\aa\\a","tt3.txt"));
        System.out.println(b);
//        //查看文件是否存在
        File f2= new File("D:\\aa\\a\\tt.txt");
        System.out.println(f2.exists());
//
        File f3= new File("D:\\aa\\a\\tt1.txt");
        //判断文件是否可读可写
        System.out.println(f3.canRead());
        System.out.println(f3.canWrite());
        //判断当前的file对象是不是文件
        System.out.println(f3.isFile());
        //判断当前的file对象是不是文件夹
        System.out.println(f3.isDirectory());
        //获取文件最后修改时间(单位ms)
        System.out.println(f3.lastModified());
        //返回文件长度（单位字节数）
        System.out.println(f3.length());
        //创建一个文件
        File f4= new File("D:/aa/a/tt2.txt");
        if(!f4.exists()){
            f4.createNewFile();
        }
        //删除文件
        f4.delete();
        File f5= new File("D:/aa/a/cc");//最后一个文件夹不存在
        //新建最后那一层的文件夹
        f5.mkdir();
        File f6= new File("D:/aa/a/b/c/d");//多个文件夹不存在
        f6.mkdirs();
        File f7= new File("D:/aa");

        String[] fl=f7.list();//返回当前文件夹里文件的名称
        for(String s:fl){
            System.out.println(s);
        }

        File[] fs =f7.listFiles();//返回当前文件夹里所有子文件
        for(File e:fs){
            System.out.println(e);
        }
    }
}
